<?php 
class GoodsListController extends CommonController{
	// 定义$model链接模型
	private $model;
	public function __init(){
		// 与父级冲突
		parent::__init();
		// 赋值$model
		$this->model = K('Goods_list');
	}

	// 首页
	public function index(){
		// 获得gid
		$gid = Q('get.gid',0,'intval');
		// 分配给前端
		$this->assign('gid',$gid);
		$size = $this->_get_attr($gid,'大小');
		$color = $this->_get_attr($gid,'颜色');
		// 分配给前端
		$this->assign('size',$size);
		$this->assign('color',$color);

		// 获得当前商品列表
		$data = $this->model->where("f_goods_gid={$gid}")->all();
		// 循环数组把组合id拆分然后找到商品类型表通过gaid找到所对应的名称
		foreach ($data as $k => $v) {
			$attr = explode(',', $v['group']);
			$color = $attr[0];
			$size = $attr[1];
			$data[$k]['color'] = K('Goods_attr')->where("gaid={$color}")->find();
			$data[$k]['size'] = K('Goods_attr')->where("gaid={$size}")->find();
		}
		// 分配给前段
		$this->assign('data',$data);
		// 显示模板
		$this->display();
	}

	// 添加
	public function add(){
		// 如果提交表单
		if (IS_POST) {
			// Q('post.');die;
			// 如果模型函数有错误就反出错误信息
			if (!$this->model->add_data()) {
				$this->error($this->model->error);
			}
			// 提示成功
			$this->success('添加成功');
		}

		// 显示模板
		$this->display();
	}

	// 编辑
	public function edit(){
		// 如果提交表单
		if (IS_POST) {
			// Q('post.');die;
			// 如果模型函数有错误就反出错误信息
			if (!$this->model->edit_data()) {
				$this->error($this->model->error);
			}
			// 提示成功
			$this->success('修改成功');
		}

		// 获得货品id
		$glid = Q('get.glid',0,'intval');
		// 获得货品属性
		$data = $this->model->where("glid={$glid}")->find();

		// 获得属性id所对应的名称
		$attr = explode(',', $data['group']);
		$color = $attr[0];
		$size = $attr[1];
		$data['color'] = K('Goods_attr')->where("gaid={$color}")->find();
		$data['size'] = K('Goods_attr')->where("gaid={$size}")->find();
		// 分配给前端
		$this->assign('data',$data);

		// 显示模板
		$this->display();
	}

	// 删除
	public function del(){
		// 获得glid，知道删除哪条数据
		$glid = Q('get.glid',0,'intval');
		// 删除
		$this->model->where("glid={$glid}")->delete();
		// 提示成功
		$this->success('删除成功');
	}

	// 获得该商品的规格的所有数据（大小或者颜色）
	private function _get_attr($gid,$attr){
		// 获得该商品的属性
		$attrData = M()->join("__f_goods_attr__ ga JOIN __f_type_attr__ ta ON ga.f_type_attr_taid=ta.taid ")->where("ga.f_goods_gid={$gid}")->all();
		// 获得大小和颜色规格
		$size = array();
		$color = array();
		foreach ($attrData as$k => $v) {
			if ($v['taname']=='大小') {
				$size[$v['gaid']] =$v['gavalue'];
			}
			if ($v['taname']=='颜色') {
				$color[$v['gaid']] =$v['gavalue'];
			}
		}
		if ($attr=='大小') {
			return $size;
		}elseif ($attr == '颜色') {
			return $color;
		}
	}












}
?>